#ifndef __RN_GOLOBAL_OBJECT_INCLUDE__
#define __RN_GOLOBAL_OBJECT_INCLUDE__
#include "../common\singleton.h"
#include <QMutexLocker>
#include <map>
#include <QObject>
#include "regionSave/UserRegionSaver.h"

class UserRegionManager;
class UserRegionAlarmManager;

class GlobalObj :public QObject
{
    Q_OBJECT
        DECLARE_SINGLETON_CLASS(GlobalObj);
public:
    GlobalObj();
    virtual ~GlobalObj();

    UserRegionManager* getUserRegionManager() { return gUserRegionManager; }
    UserRegionSaver * getUserRegionSaver() { return gUserSaver; }
    UserRegionAlarmManager* getUserRegionAlarmManager() { return URAM; }

private:
    UserRegionManager* gUserRegionManager;
    UserRegionAlarmManager*URAM;
    UserRegionSaver *gUserSaver;
};

typedef pattern::singleton<GlobalObj> globalObj;
#define GO globalObj::instance() ; 
#endif